package vn.com.aptech.msh.business;

import java.util.List;
import javax.ejb.Remote;
import vn.com.aptech.msh.criteria.PayingGuestCriteria;
import vn.com.aptech.msh.criteria.RentalBasisCriteria;
import vn.com.aptech.msh.criteria.SellingHouseCriteria;
import vn.com.aptech.msh.entities.Advertising;
import vn.com.aptech.msh.entities.HouseType;

/**
 *
 * @author trietto
 */
@Remote
public interface IEstateBean {

    List<HouseType> getHouseTypes();

    Advertising advertiseSellingHouse(Advertising advert);

    Advertising advertiseRentalBasis(Advertising advert);

    Advertising advertisePayingGuest(Advertising advert);

    List<Advertising> searchSellingHouse(SellingHouseCriteria criteria);

    List<Advertising> searchRentalBasis(RentalBasisCriteria criteria);

    List<Advertising> searchPayingGuest(PayingGuestCriteria criteria);

    List<Advertising> getLatestAdvertisements(int top);

    int getAdvertisementsCount();

    Advertising findAdvertisingById(int id);

    List<Advertising> getFeaturedAdvertisements(int top);
}
